// pages/index/behalfPay.js
let request = require("../../../utils/request.js"); //封装的request请求
let util = require('../../../utils/util.js')
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    behalfList: Array
  },
  observers: {
    'behalfList': function(list){
      console.log('夜间白天卡超时订单：', list)
      let totalAmount = 0
      let tradeRecordIdList = []
      //  格式化日期
      list.forEach((data)=> {
        data.createTime = data.createTime.split(" ")[0]
        data.dayBeginTime = data.dayBeginTime.substring(0, 5)
        data.dayEndTime = data.dayEndTime.substring(0, 5)
        totalAmount = this.accAdd(totalAmount, data.paidAmount)
        tradeRecordIdList.push(data.id)
      })
      this.setData({
        behalf: list[0],
        totalAmount: totalAmount,
        tradeRecordIdList: tradeRecordIdList
      })
    }
  },
  /**
   * 组件的初始数据
   */
  data: {
    // behalfList: [],
    orderIndex: 0,
    behalf: {},
    totalAmount: 0,
    tradeRecordIdList: []
  },
  onLoad: function () {  
  },
  created(){
    console.log(this.properties.behalfList)
  },
  /**
   * 组件的方法列表
   */
  methods: {
        /**
     * 查看上一个订单
     */
    prevOrder(){
      this.setData({
        orderIndex: this.data.orderIndex-1,
        behalf: this.data.behalfList[this.data.orderIndex-1],
      })
    },
    /**
     * 查看下一个订单
     */
    nextOrder(){
      this.setData({
        orderIndex: this.data.orderIndex+1,
        behalf: this.data.behalfList[this.data.orderIndex+1],
      })
    },
      /**
   * 支付垫付费用
   */
    payBehalf(){
      let _this = this
      //  支付
      request.http(
        '/order/info-trade-record/pay-behalf', 
        'POST', 
        { totalAmount: this.data.totalAmount, tradeRecordIdList: this.data.tradeRecordIdList }, 0
      ).then(res => {
        //支付
        wx.requestPayment({
          timeStamp: res.data.data.timeStamp, // 时间戳，必填（后台传回）
          nonceStr: res.data.data.nonceStr, // 随机字符串，必填（后台传回）
          package: res.data.data.package, // 统一下单接口返回的 prepay_id 参数值，必填（后台传回）
          signType: 'MD5', // 签名算法，非必填，（预先约定或者后台传回）
          paySign: res.data.data.paySign, // 签名 ，必填 （后台传回）
          success: function (res) { // 成功后的回调函数
            console.log('支付回调')
            _this.closePayBehalfDialog()
          },
          fail(res) {
            //  wx.showToast({ title: '支付失败', icon: 'none' }) 
             console.log(res)
          }
        })
      })
    },
      /**
   * 关闭支付垫付费用弹窗
   */
    closePayBehalfDialog(){
      this.triggerEvent('closePayBehalfDialog')
    },
    accAdd(arg1, arg2) { 
      var r1,r2,m; 
      try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
      try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
      m=Math.pow(10,Math.max(r1,r2)) 
      return (arg1*m+arg2*m)/m 
    }
  }
})
